5.5.3 プロダクトリスク
from 5.5.0 リスクとテスト
プロダクトリスクとは
「ソフトウェアやシステムで失敗する可能性のある領域」
↑ 次に起きる事象が意に沿わなかったり、危険を引き起こしたりする可能性
プロダクトリスクの例
故障の起きやすいソフトウェアの出荷
改修にかかるコストは、そのまま開発した企業にとって損失になる
ソフトウェアやハードウェアが個人や会社に対して損害を与える可能性
PL法の観点から「瑕疵担保責任」を負わなければならない事態も…
訴訟に至ると責任が作り手になくとも風評被害なども影響出てくるかも
貧弱なソフトウェア品質特性
使い勝手やレスポンスが期待を満たしていなければ、製品の信頼感や魅力の喪失に繋がる
貧弱なデータの完全性と品質
プロダクトが目的を果たせないリスク
データ移行、変換、伝送の上で問題発生
データそのものが規定する標準に準拠していない
機能は仕様通りでもデータがおかしくて動かないことも
予定の機能が動作しないソフトウェア
当たり前品質が満たされていない
リスクとしてあげたものについて
事前予防策、事前準備策、事後対応策を検討する
ただ、考えられるすべてで行うことはなく、優先度付けを行う
発生可能性、発火した時の損害(リスクエクスポージャ)、影響度などで判断する
リスクが高い機能に対し、リスクが軽減されていることを確認する方法
やっぱり、テストが期待通り動くこと
強力な事前予防策と言える
テストを事前予防策として考慮していない場合
十分なテストケースが用意できず、カバレッジが低いため品質の担保ができない
前フェーズで検出されるべき不具合が多いため、本来のテストケースが実施できない
ムラがあって、プロダクトリスクの高い機能に対してのテストが十分にできない
モンキーテストのみのため一切テストしてない機能がある
開発担当者がテスト実施中でもモジュールを更新しちゃう
開発担当者がインシデントを再現できず欠陥が修正できない
ISTQBでは洗い出したリスクに対しては以下のように対処するとしている
適応するテスト技法を決める
リスクの優先度が高い機能のテストケースは網羅率が高くなるようなテスト技法を選択する
テストを実行する範囲を決める
実施する構成をどれだけ組むのか
バリエーションの実施範囲
シェアをもとに設計するなど
重大な欠陥をなるべく早い時期に検出するため、テストの優先順位を決める
重大欠陥をテスト終了間際に発見するとスケジュール遅延のプロジェクトリスクが高くなる
リスクベースでテストの優先順位を決める
スケジュール遅延の時でもリスクの高いテストは飛ばすわけにはいかない
コストや納期のトレードオフの決断の際の制約を弱くする
テスト以外でリスクを減らす方法があるか考える
静的手法の活用
欠陥を作り込まないプロセス改善
開発担当者のトレーニングなど
リスクが顕在化した時のための機能実装
自動アップデート、リストアなどなど